package com.dotflat.xj.service;


import com.dotflat.rest.service.AreableObjectBaseService;
import com.dotflat.xj.domain.Target;
import com.dotflat.xj.domain.TargetProjectValue;
import com.dotflat.xj.po.ImportTargetPO;
import com.matt.commons.dto.sso.AreaDTO;
import com.matt.commons.dto.sso.StaffDTO;
import com.matt.commons.page.PagerQuery;
import org.springframework.data.domain.Page;

import java.util.List;
import java.util.Map;


public interface TargetService extends AreableObjectBaseService<Target> {


    Target getId(String id);

    Target save(Target target);

    Page<Target> getList(String ticket, String typeName,String status, PagerQuery pagerQuery);

    List<Map> projectList(String ticket, String targetId,String sortName) ;

    TargetProjectValue addProject(StaffDTO staff, AreaDTO areaDTO,  Target target , String sortName, String parentId, String sortValue, String sortValueLow);

    Map details(String ticket, String targetId);

    Map getParent(String ticket, String targetId);

    Map getProject(String ticket, String targetId,String projectId);

    TargetProjectValue updateProject(String ticket,String projectId,String sortName,String parentId,String sortValue,String sortValueLow);

    List<Map> appList(String ticket);

    Map getRecord(String ticket, String targetId);

    List<Target> appClassList(String ticket,String classId);

    Target stop(String ticket, String targetId,String status);

    void stopProject(String ticket, String projectId);

    String importTarget(StaffDTO staffDTO,  AreaDTO areaDTO ,String groupId , List<ImportTargetPO> importExcel);
}
